﻿using System;
using System.Collections.Generic;
using System.Threading.Tasks;
using KL.UFrame.Data.Entities;
using KL.UFrame.Data.Models;

namespace KL.UFrame.Data.Business
{
    public interface IVenueBusiness
    {
        Task<List<VenueModel>> GetAllVenuesAsync(bool onlyEnabled = true);

        Task<VenueModel> GetVenueAsync(int id);

        Task<VenueBookModel> GetVenueBookOfThisMonthAsync(int id,int? month=null);

        Task<bool> BookAsync(VenueBookCreateModel model,string userName);
        Task<List<VenueBookRecordSearchResultModel>> GetVenueBookRecordsAsync(int venueId, string phone, DateTime start, DateTime end);
        Task<bool> DeleteVenueAsync(int id);
        Task<bool> ResumeVenueAsync(int id);
        Task<int> UpdateVenueAsync(VenueModel model);
        Task<int> CreateVenueAsync(VenueModel model);
        Task<bool> AuditAsync(int enrollId, VenueBookRecordStatus status, string description);
    }
}